*[దీన్ని ఇతర భాషల్లో చదవండి](README.md#translations)*


## కంట్రిబ్యూటర్ లైసెన్స్ ఒప్పందం

సహకరించడం ద్వారా మీరు ఈ రిపోజిటరీ యొక్క [లైసెన్స్](../LICENSE) అంగీకరిస్తున్నారు.


## కంట్రిబ్యూటర్ ప్రవర్తనా నియమావళి
సహకరించడం ద్వారా మీరు ఈ రిపోజిటరీ యొక్క [ప్రవర్తనా నియమావళిని](CODE_OF_CONDUCT-te.md) గౌరవించటానికి అంగీకరిస్తారు. ([అనువాదాలు](README.md#translations))


## క్లుప్తంగా

1. "పుస్తకాన్ని సులభంగా డౌన్‌లోడ్ చేసుకోవడానికి లింక్" ఎల్లప్పుడూ *ఉచిత* పుస్తకం కి లింక్ కాదు. దయచేసి ఉచిత కంటెంట్‌ను మాత్రమే అందించండి. ఇది ఉచితం అని నిర్ధారించుకోండి. పుస్తకాలను పొందేందుకు *పనిచేసే ఇమెయిల్ చిరునామాలు అవసరమయ్యే* పేజీలకు లింక్‌లను మేము అంగీకరించము, కానీ వాటిని అభ్యర్థించే జాబితాలను మేము స్వాగతిస్తాము.

2. మీరు Git గురించి తెలుసుకోవలసిన అవసరం లేదు: మీరు *ఈ రెపోలో ఇప్పటికే లేని* ఆసక్తికరమైన విషయం కనుగొన్నట్లయితే , దయచేసి మీ లింక్‌ల ప్రతిపాదనలతో ఒక [Issue](https://github.com/EbookFoundation/free-programming-books/issues) తెరవండి.
    - మీకు Git తెలిస్తే, దయచేసి రెపోను Fork చేసి, పుల్ రిక్వెస్ట్‌లను పంపండి (PR).

3. మాకు 6 రకాల జాబితాలు ఉన్నాయి. సరైనదాన్ని ఎంచుకోండి:

    - *పుస్తకాలు* : PDF, HTML, ePub, ఒక gitbook.io ఆధారిత సైట్, ఒక Git repo, etc.
    - *కోర్సులు* : కోర్స్ అనేది ఒక లెర్నింగ్ మెటీరియల్, ఇది పుస్తకం కాదు. [ఇది ఒక కోర్సు](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
    - *ఇంటరాక్టివ్ ట్యుటోరియల్స్* : ఇంటరాక్టివ్ వెబ్‌సైట్, ఇది వినియోగదారుని కోడ్ లేదా ఆదేశాలను టైప్ చేసి, ఫలితాన్ని అంచనా వేయడానికి అనుమతిస్తుంది ("అంచనా" అంటే "గ్రేడ్" అని కాదు). e.g.: [Haskell పరీక్షించు](http://tryhaskell.org), [GitHub పరీక్షించు](http://try.github.io).
    - *ఆటస్థలాలు* : ఆన్‌లైన్ మరియు ఇంటరాక్టివ్ వెబ్‌సైట్‌లు, ప్రోగ్రామింగ్ నేర్చుకోవడానికి గేమ్స్ లేదా డెస్క్‌టాప్ సాఫ్ట్‌వేర్. కోడ్ స్నిప్పెట్‌లను వ్రాయండి, కంపైల్ చేయండి (లేదా రన్ చేయండి) మరియు షేర్ చేయండి. ఆట స్థలాలు తరచుగా Fork చేసి కోడ్‌తో ఆడటం ద్వారా మీ నైపుణ్యాలు మెరుగు పడతాయి.
    - *పాడ్‌కాస్ట్‌లు మరియు స్క్రీన్‌కాస్ట్‌లు* : పాడ్‌కాస్ట్‌లు మరియు స్క్రీన్‌కాస్ట్‌లు.
    - *సమస్య సెట్లు & కాంపిటీటివ్ ప్రోగ్రామింగ్* : సాధారణ లేదా సంక్లిష్టమైన సమస్యలను పరిష్కరించడం ద్వారా మీ ప్రోగ్రామింగ్ నైపుణ్యాలను అంచనా వేయడానికి మిమ్మల్ని అనుమతించే వెబ్‌సైట్ లేదా సాఫ్ట్‌వేర్, కోడ్ సమీక్షతో లేదా లేకుండా, ఇతర వినియోగదారులతో ఫలితాలను సరిపోల్చకుండా లేదా సరిపోల్చకుండా.

4. [దిగువ మార్గదర్శకాలు](#guidelines) అనుసరించాలని నిర్ధారించుకోండి  మరియు ఫైళ్లలో [Markdown formatting](#formatting) గౌరవించండి.

5. GitHub Actions పరీక్షలను అమలు చేస్తాయి **మీ జాబితాలు అక్షరక్రమంలో ఉన్నాయని నిర్ధారించుకోండి** మరియు **ఫార్మాటింగ్ నియమాలు అనుసరించబడతాయి**. **నిశ్చయించుకో** మీ మార్పులు పరీక్షలలో pass సాధించాయో లేదో తనిఖీ చేయడానికి.


### మార్గదర్శకాలు

- పుస్తకం ఉచితం అని నిర్ధారించుకోండి. అవసరమైతే రెండుసార్లు తనిఖీ చేయండి. పుస్తకం ఉచితం అని మీరు ఎందుకు అనుకుంటున్నారో PRలో వ్యాఖ్యానిస్తే అది నిర్వాహకులకు సహాయపడుతుంది.
- మేము Google Drive, Dropbox, Mega, Scribd, Issuu మరియు ఇతర సారూప్య ఫైల్ అప్‌లోడ్ ప్లాట్‌ఫారమ్‌లలో హోస్ట్ చేసిన ఫైల్‌లను అంగీకరించము
- మీ లింక్‌లను [క్రింద](#alphabetical-order) వివరించినట్లు అక్షర క్రమంలో చొప్పించండి.
- అత్యంత అధికారిక మూలాధారంతో లింక్‌ను ఉపయోగించండి (అంటే రచయిత వెబ్‌సైట్ ఎడిటర్ వెబ్‌సైట్ కంటే మెరుగ్గా ఉంది, ఇది మూడవ పక్షం వెబ్‌సైట్ కంటే మెరుగైనది)
    - ఫైల్ హోస్టింగ్ సేవలు లేవు (దీనిలో డ్రాప్‌బాక్స్ మరియు Google డ్రైవ్ లింక్‌లు ఉంటాయి (కానీ వీటికే పరిమితం కాదు)
- ఎల్లప్పుడూ ఒక `http` లింక్ కంటే `https` లింక్‌ను ఇష్టపడతారు -- అవి ఒకే డొమైన్‌లో ఉన్నంత వరకు మరియు అదే కంటెంట్‌ను అందిస్తాయి
- రూట్ డొమైన్‌లలో, ట్రైలింగ్ స్లాష్‌ను తీసివేయండి: `http://example.com/`కి బదులుగా `http://example.com`
- ఎల్లప్పుడూ చిన్నదైన లింక్‌ను ఇష్టపడండి: `http://example.com/dir/` అనేది `http://example.com/dir/index.html` కంటే ఉత్తమం
    - URL షార్ట్‌నర్ లింక్‌లు వద్దు
- సాధారణంగా "వెర్షన్" కంటే "ప్రస్తుత" లింక్‌ని ఇష్టపడతారు: `http://example.com/dir/book/current/` అనేది `http://example.com/dir/book/v1.0.0/index.html` కంటే మెరుగ్గా ఉంటుంది.
- లింక్‌లో గడువు ముగిసిన సర్టిఫికేట్/స్వీయ సంతకం సర్టిఫికేట్/ఏదైనా ఇతర రకాల SSL సమస్య ఉంటే:
    1. వీలైతే దాని `http` ప్రతిరూపంతో *దీనిని భర్తీ చేయండి* (ఎందుకంటే మొబైల్ పరికరాలలో మినహాయింపులను అంగీకరించడం సంక్లిష్టంగా ఉంటుంది).
    2. `http` సంస్కరణ అందుబాటులో లేనట్లయితే, బ్రౌజర్‌కు మినహాయింపును జోడించడం ద్వారా లేదా హెచ్చరికను విస్మరించడం ద్వారా లింక్ ఇప్పటికీ `https` ద్వారా ప్రాప్యత చేయబడితే *దీనిని వదిలివేయండి*.
    3. లేకపోతే *తీసివేయండి*.
- ఒక లింక్ బహుళ ఫార్మాట్‌లో ఉన్నట్లయితే, ప్రతి ఫార్మాట్ గురించి గమనికతో ప్రత్యేక లింక్‌ను జోడించండి
- ఇంటర్నెట్‌లో వివిధ ప్రదేశాలలో వనరు ఉంటే
    - అత్యంత అధికారిక మూలాధారంతో లింక్‌ను ఉపయోగించండి (అంటే రచయిత వెబ్‌సైట్ ఎడిటర్ వెబ్‌సైట్ కంటే మెరుగైనది, మూడవ పక్షం వెబ్‌సైట్ కంటే మెరుగైనది)
    - అవి వేర్వేరు ఎడిషన్‌లకు లింక్ చేసి, ఈ ఎడిషన్‌లు వాటిని ఉంచడానికి తగినవిగా విభిన్నంగా ఉన్నాయని మీరు నిర్ధారించినట్లయితే, ప్రతి ఎడిషన్ గురించి నోట్‌తో ప్రత్యేక లింక్‌ను జోడించండి ([ఇష్యూ #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) చూడండి, ఫార్మాటింగ్‌పై చర్చకు సహకరించడానికి).
- పెద్ద కమిట్‌ల కంటే అటామిక్ కమిట్‌లను (అదనం/తొలగింపు/మార్పు ద్వారా ఒక కమిట్) ఇష్టపడతారు. PRని సమర్పించే ముందు మీ కమిట్‌లను స్క్వాష్ చేయాల్సిన అవసరం లేదు. (మేము ఈ నియమాన్ని ఎప్పటికీ అమలు చేయము, ఎందుకంటే ఇది నిర్వహణదారులకు సౌకర్యంగా ఉంటుంది)
- పుస్తకం పాతదైతే, శీర్షికతో ప్రచురణ తేదీని చేర్చండి.
- తగిన చోట రచయిత పేరు లేదా పేర్లను చేర్చండి. మీరు రచయిత జాబితాలను "`et al.`"తో కుదించవచ్చు.
- పుస్తకం పూర్తి కానట్లయితే మరియు ఇంకా పని చేస్తూ ఉంటే, [క్రింద](#in_process) వివరించిన విధంగా "`in process`" సంజ్ఞామానాన్ని జోడించండి.
- ఒక వనరును [*Internet Archive's Wayback Machine*](https://web.archive.org) (లేదా ఇలాంటివి) ఉపయోగించి పునరుద్ధరించబడితే, "`archived`" సంజ్ఞామానం జోడించండి , [క్రింద](#archived) వివరించినట్లు. ఉపయోగించడానికి ఉత్తమ సంస్కరణలు ఇటీవలివి మరియు పూర్తి చేయబడ్డాయి.
- డౌన్‌లోడ్ ప్రారంభించబడటానికి ముందు ఇమెయిల్ చిరునామా లేదా ఖాతా సెటప్ అభ్యర్థించబడితే, కుండలీకరణాల్లో భాషకు తగిన గమనికలను జోడించండి, e.g.: `(email address *అభ్యర్థించారు*, అవసరం లేదు)`.


### Formatting

- అన్ని జాబితాలు `.md` files మాత్రమే. [Markdown](https://guides.github.com/features/mastering-markdown/) syntax నేర్చుకోవడానికి ప్రయత్నించండి. ఇది సులభం!
- అన్ని జాబితాలు సూచికతో ప్రారంభమవుతాయి. అక్కడ అన్ని విభాగాలు మరియు ఉపవిభాగాలను జాబితా చేసి లింక్ చేయాలనే ఆలోచన ఉంది. అక్షర క్రమంలో ఉంచండి.
- విభాగాలు స్థాయి 3 శీర్షికలను ఉపయోగిస్తున్నాయి (`###`),మరియు ఉపవిభాగాలు స్థాయి 4 శీర్షికలు (`####`).

ఆలోచన ఏంటంటే:

- `2` ఖాళీ పంక్తులు చివరి లింక్ మరియు కొత్త విభాగం మధ్యన.
- `1` ఖాళీ పంక్తులు శీర్షిక మరియు దాని విభాగం యొక్క మొదటి లింక్ మధ్యన.
- `0` ఖాళీ పంక్తులు రెండు లింకుల మధ్యన.
- `1` ఖాళీ పంక్తులు ప్రతి చివర `.md` file మధ్యన.

Example:

```text
[...]
* [An Awesome Book](http://example.com/example.html)
                                (blank line)
                                (blank line)
### Example
                                (blank line)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)
```

- `]` మరియు `(`  మధ్య ఖాళీలు పెట్టవద్దు:

    ```text
    BAD : * [Another Awesome Book] (http://example.com/book.html)
    GOOD: * [Another Awesome Book](http://example.com/book.html)
    ```

- మీరు రచయితను చేర్చినట్లయితే, ` - ` (ఒకే ఖాళీలతో చుట్టుముట్టబడిన డాష్) వాడు:

    ```text
    BAD : * [Another Awesome Book](http://example.com/book.html)- John Doe
    GOOD: * [Another Awesome Book](http://example.com/book.html) - John Doe
    ```

- లింక్ మరియు దాని ఆకృతి మధ్య ఒకే ఖాళీని ఉంచండి:

    ```text
    BAD : * [A Very Awesome Book](https://example.org/book.pdf)(PDF)
    GOOD: * [A Very Awesome Book](https://example.org/book.pdf) (PDF)
    ```

- ఆకృతికి ముందు రచయిత వస్తాడు:

    ```text
    BAD : * [A Very Awesome Book](https://example.org/book.pdf)- (PDF) Jane Roe
    GOOD: * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF)
    ```

- బహుళ ఫార్మాట్‌లు:

    ```text
    BAD : * [Another Awesome Book](http://example.com/)- John Doe (HTML)
    BAD : * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
    GOOD: * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
    ```

- పాత పుస్తకాల శీర్షికలో ప్రచురణ సంవత్సరాన్ని చేర్చండి:

    ```text
    BAD : * [A Very Awesome Book](https://example.org/book.html) - Jane Roe - 1970
    GOOD: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe
    ```

- <a id="in_process"></a>ప్రక్రియలో పుస్తకాలు:

    ```text
    GOOD: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
    ```

- <a id="archived"></a>Archived లింక్:

    ```text
    GOOD: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archived)*
    ```

### అక్షర క్రమము

- ఒకే అక్షరంతో ప్రారంభమయ్యే బహుళ శీర్షికలు ఉన్నప్పుడు వాటిని రెండవ దానితో ఆర్డర్ చేయండి మరియు మొదలైనవి. ఉదాహరణకి: `ab` కంటే `aa` ముందు వస్తుంది.
- `onetwo` కంటే `one two` ముందు వస్తుంది 

మీరు తప్పుగా ఉంచబడిన లింక్‌ను చూసినట్లయితే, ఏ పంక్తులు మార్చుకోవాలో తెలుసుకోవడానికి లింటర్ దోష సందేశాన్ని తనిఖీ చేయండి.


### గమనికలు

ప్రాథమిక అంశాలు సాపేక్షంగా సరళంగా ఉన్నప్పటికీ, మేము జాబితా చేసిన వనరులలో గొప్ప వైవిధ్యం ఉంది. ఈ వైవిధ్యంతో మనం ఎలా వ్యవహరిస్తామో ఇక్కడ కొన్ని గమనికలు ఉన్నాయి.


#### మెటాడేటా

మా జాబితాలు కనీస మెటాడేటా సెట్‌ను అందిస్తాయి: శీర్షికలు, URLలు, సృష్టికర్తలు, ప్లాట్‌ఫారమ్‌లు మరియు యాక్సెస్ నోట్స్.


##### శీర్షికలు

- శీర్షికలు ఏవీ కనుగొనబడలేదు. మేము వనరుల నుండి శీర్షికలను తీసుకోవడానికి ప్రయత్నిస్తాము; దీనిని నివారించగలిగితే శీర్షికలను కనిపెట్టవద్దని లేదా వాటిని సంపాదకీయంగా ఉపయోగించవద్దని కంట్రిబ్యూటర్‌లకు సూచించబడింది. పాత పనులకు మినహాయింపు; వారు ప్రాథమికంగా చారిత్రక ఆసక్తిని కలిగి ఉన్నట్లయితే, శీర్షికకు జోడించబడిన కుండలీకరణాలలో ఒక సంవత్సరం వారు ఆసక్తి కలిగి ఉన్నారో లేదో తెలుసుకోవడానికి వినియోగదారులకు సహాయపడుతుంది.
- ALLCAPS శీర్షికలు లేవు. సాధారణంగా టైటిల్ కేస్ సముచితంగా ఉంటుంది, కానీ సందేహం వచ్చినప్పుడు మూలం నుండి క్యాపిటలైజేషన్ ఉపయోగించండి
- ఎమోజీలు లేవు.


##### URLs

- మేము సంక్షిప్త URLలను అనుమతించము.
- ట్రాకింగ్ కోడ్‌లు తప్పనిసరిగా URL నుండి తీసివేయబడాలి.
- అంతర్జాతీయ URLలను తప్పించుకోవాలి. బ్రౌజర్ బార్‌లు సాధారణంగా వీటిని యూనికోడ్‌కి అందిస్తాయి, అయితే దయచేసి కాపీ చేసి పేస్ట్ చేయండి.
- HTTPS అమలు చేయబడిన నాన్-సురక్షిత (`http`) urlల కంటే సురక్షిత (`https`) URLలు ఎల్లప్పుడూ ప్రాధాన్యత ఇవ్వబడతాయి.
- జాబితా చేయబడిన వనరును హోస్ట్ చేయని వెబ్‌పేజీలను సూచించే URLలను మేము ఇష్టపడము, బదులుగా వేరే చోట సూచించాము.


##### సృష్టికర్తలు

- మేము అనువాదకులతో సహా తగిన చోట ఉచిత వనరుల సృష్టికర్తలకు క్రెడిట్ చేయాలనుకుంటున్నాము!
- అనువాద రచనలకు మూల రచయితకు క్రెడిట్ ఇవ్వాలి. మేము రచయితలు కాకుండా ఇతర సృష్టికర్తలకు క్రెడిట్ చేయడానికి [MARC relators](https://loc.gov/marc/relators/relaterm.html) ఉపయోగించమని సిఫార్సు చేస్తున్నాము  , ఈ ఉదాహరణలో వలె:

    ```markdown
    * [A Translated Book](http://example.com/book.html) - John Doe, `trl.:` Mike The Translator
    ```

   ఇక్కడ, ఉల్లేఖనం `trl.:` కోసం MARC రిలేటర్ కోడ్‌ని ఉపయోగిస్తుంది "translator".
- రచయిత జాబితాలోని ప్రతి అంశాన్ని డీలిమిట్ చేయడానికి కామా `,` ఉపయోగించండి.
- మీరు రచయిత జాబితాలను "`et al.`"తో కుదించవచ్చు.
- మేము సృష్టికర్తల కోసం లింక్‌లను అనుమతించము.
- సంకలనం లేదా రీమిక్స్ చేసిన పనుల కోసం, "సృష్టికర్త"కి వివరణ అవసరం కావచ్చు. ఉదాహరణకి, "GoalKicker" లేదా "RIP Tutorial"  "`Compiled from StackOverflow documentation`" పుస్తకాలు నుండి జమ చేయబడ్డాయి .


##### ప్లాట్‌ఫారమ్‌లు మరియు యాక్సెస్ నోట్స్

- కోర్సులు. ప్రత్యేకించి మా కోర్సు జాబితాల కోసం, ప్లాట్‌ఫారమ్ వనరుల వివరణలో ముఖ్యమైన భాగం. ఎందుకంటే కోర్సు ప్లాట్‌ఫారమ్‌లు విభిన్నమైన ఖర్చులు మరియు యాక్సెస్ మోడల్‌లను కలిగి ఉంటాయి. మేము సాధారణంగా రిజిస్ట్రేషన్ అవసరమయ్యే పుస్తకాన్ని జాబితా చేయము, అయితే అనేక కోర్సు ప్లాట్‌ఫారమ్‌లు ఒక విధమైన ఖాతా లేకుండా పని చేయని ఖర్చులను కలిగి ఉంటాయి. ఉదాహరణ కోర్సు ప్లాట్‌ఫారమ్‌లలో Coursera, EdX, Udacity మరియు Udemy ఉన్నాయి. ఒక కోర్సు ప్లాట్‌ఫారమ్‌పై ఆధారపడి ఉన్నప్పుడు, ప్లాట్‌ఫారమ్ పేరు కుండలీకరణాల్లో జాబితా చేయబడాలి.
- YouTube. మేము YouTube ప్లేజాబితాలను కలిగి ఉన్న అనేక కోర్సులను కలిగి ఉన్నాము. మేము YouTubeని ప్లాట్‌ఫారమ్‌గా జాబితా చేయము, మేము తరచుగా ఉప-ప్లాట్‌ఫారమ్ అయిన YouTube సృష్టికర్తను జాబితా చేయడానికి ప్రయత్నిస్తాము.
- YouTube వీడియోలు. మేము సాధారణంగా వ్యక్తిగత YouTube వీడియోలను ఒక గంట కంటే ఎక్కువ నిడివితో మరియు కోర్సు లేదా ట్యుటోరియల్ లాగా రూపొందించినట్లయితే తప్ప వాటికి లింక్ చేయము.
- Leanpub. లీన్‌పబ్ వివిధ రకాల యాక్సెస్ మోడల్‌లతో పుస్తకాలను హోస్ట్ చేస్తుంది. కొన్నిసార్లు ఒక పుస్తకాన్ని రిజిస్ట్రేషన్ లేకుండా చదవవచ్చు; కొన్నిసార్లు పుస్తకానికి ఉచిత యాక్సెస్ కోసం Leanpub ఖాతా అవసరం. పుస్తకాల నాణ్యత మరియు లీన్‌పబ్ యాక్సెస్ మోడల్‌ల మిశ్రమం మరియు ద్రవత్వం కారణంగా, మేము యాక్సెస్ నోట్ `*(Leanpub account or valid email requested)*`తో రెండో వాటి జాబితాను అనుమతిస్తాము.


#### శైలులు

వనరు ఏ జాబితాకు చెందినదో నిర్ణయించడంలో మొదటి నియమం ఏమిటంటే, వనరు ఎలా వివరిస్తుందో చూడడం. అది తనను తాను పుస్తకం అని పిలిస్తే, బహుశా అది పుస్తకమే కావచ్చు.


##### మేము జాబితా చేయని శైలులు

ఇంటర్నెట్ విస్తృతంగా ఉన్నందున, మేము మా జాబితాలలో చేర్చము:

- బ్లాగులు
- బ్లాగ్ పోస్ట్‌లు
- వ్యాసాలు
- వెబ్‌సైట్‌లు (మేము జాబితా చేసే అనేక అంశాలను హోస్ట్ చేసేవి తప్ప).
- కోర్సులు లేదా స్క్రీన్‌కాస్ట్‌లు లేని వీడియోలు.
- పుస్తకం అధ్యాయాలు
- పుస్తకాల నుండి టీజర్ నమూనాలు
- IRC లేదా టెలిగ్రామ్ ఛానెల్‌లు
- స్లాక్స్ లేదా మెయిలింగ్ జాబితాలు

మా కాంపిటీటివ్ ప్రోగ్రామింగ్ జాబితాలు ఈ మినహాయింపుల గురించి అంత కఠినంగా లేవు. రెపో పరిధిని సంఘం నిర్ణయిస్తుంది; మీరు పరిధికి మార్పు లేదా జోడింపుని సూచించాలనుకుంటే, దయచేసి సూచన చేయడానికి issue ఉపయోగించండి.


##### పుస్తకాలు వర్సెస్ ఇతర అంశాలు

మేము బుక్-నెస్ గురించి అంత గజిబిజిగా లేము. వనరు ఒక పుస్తకం అని సూచించే కొన్ని లక్షణాలు ఇక్కడ ఉన్నాయి:

- దీనికి ISBN (ఇంటర్నేషనల్ స్టాండర్డ్ బుక్ నంబర్) ఉంది
- దానికి విషయ సూచిక ఉంది
- డౌన్‌లోడ్ చేయగల వెర్షన్ అందించబడుతుంది, ముఖ్యంగా ePub ఫైల్‌లు.
- దానికి సంచికలు ఉన్నాయి
- ఇది ఇంటరాక్టివ్ కంటెంట్ లేదా వీడియోలపై ఆధారపడదు
- ఇది ఒక అంశాన్ని సమగ్రంగా కవర్ చేయడానికి ప్రయత్నిస్తుంది
- అది స్వయం సమూహమైనది

ఈ లక్షణాలు లేని పుస్తకాలు చాలా ఉన్నాయి; అది సందర్భం మీద ఆధారపడి ఉంటుంది.


##### పుస్తకాలు వర్సెస్ కోర్సులు

కొన్నిసార్లు వీటిని వేరు చేయడం కష్టం!

కోర్సులు తరచుగా అనుబంధిత పాఠ్యపుస్తకాలను కలిగి ఉంటాయి, వీటిని మేము మా పుస్తకాల జాబితాలో జాబితా చేస్తాము. కోర్సులు ఉపన్యాసాలు, వ్యాయామాలు, పరీక్షలు, గమనికలు లేదా ఇతర సందేశాత్మక సహాయాలను కలిగి ఉంటాయి. ఒకే ఉపన్యాసం లేదా వీడియో కోర్సు కాదు. పవర్ పాయింట్ అనేది కోర్సు కాదు.


##### ఇంటరాక్టివ్ ట్యుటోరియల్స్ వర్సెస్ ఇతర అంశాలు

మీరు దానిని ప్రింట్ చేసి, దాని సారాంశాన్ని ఉంచగలిగితే, అది ఇంటరాక్టివ్ ట్యుటోరియల్ కాదు.


### ఆటోమేషన్

- ఫార్మాటింగ్ నియమాల అమలు [GitHub Actions](https://github.com/features/actions) తో స్వయంచాలకంగా జరుగుతుంది [fpb-lint](https://github.com/vhf/free-programming-books-lint) ఉపయోగించి (చూడండి [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- URL ధ్రువీకరణ ఉపయోగాలు [awesome_bot](https://github.com/dkhamsing/awesome_bot)
- URL ధృవీకరణను ట్రిగ్గర్ చేయడానికి, కమిట్ మెసేజ్ లో `check_urls=file_to_check` కలిగి ఉన్న కమిట్‌ను పుష్ చేయండి:

    ```properties
    check_urls=free-programming-books.md free-programming-books-en.md
    ```

- మీరు ప్రతి ఎంట్రీని వేరు చేయడానికి ఒకే ఖాళీని ఉపయోగించి, ఒక ఫైల్‌తో పేర్కొనవచ్చు మరియు తనిఖీ చేయవచ్చు.
- మీరు ఒకటి కంటే ఎక్కువ ఫైల్‌లను పేర్కొంటే, బిల్డ్ యొక్క ఫలితాలు చివరిగా తనిఖీ చేసిన ఫైల్ ఫలితంపై ఆధారపడి ఉంటాయి. దీని కారణంగా మీరు ఆకుపచ్చ నిర్మాణాలను పొందవచ్చని మీరు తెలుసుకోవాలి కాబట్టి  "Show all checks" -> "Details" క్లిక్ చేయడం ద్వారా పుల్ రిక్వెస్ట్ చివరిలో బిల్డ్ లాగ్‌ని తనిఖీ చేయండి.
